Custom publishing of documents typically involves production of documents which contain variable numbers of information items such as pictures, text or backgrounds. One approach to laying out information items in a page layout is to have a template into which different information items are placed. While computationally straightforward (unless complexity is introduced by offering rules for determining use of alternative templates), this approach is inflexible and may lead to aesthetically unsatisfactory results (such as overlap between items).
More satisfactory results may be achieved by determining a collection of information items to be displayed on a page, generating a candidate layout with a layout engine and determining whether the candidate layout meets predetermined criteria. These criteria may be representative of aesthetic considerations. Layout engines of this type may produce very good results in achieving aesthetically attractive layout of information items on a page. A difficulty with this approach, however, is that in many contexts it is desirable for specific information items, and not others, to be grouped together. For example, in a customised catalogue, it is clearly desirable that information items relating to one product are grouped together so that it will be readily perceived that they all relate to one product (and so that other information items are not perceived as relating to that product). The consequences of failing to do this successfully can be significant—for example, if a price is grouped with details of an item to which it does not relate, the catalogue provider may be obliged to sell a customer the item for the incorrect price. Even for layout engines that are otherwise successful in producing aesthetically satisfactory layouts, there is currently no satisfactory solution to this problem beyond introducing a manual checking step. For customised catalogue generation, this may be prohibitively expensive.